package com.chengxiaoxiao.ai_demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chengxiaoxiao.ai_demo.entity.KnowledgeFile;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


/**
 * 知识库文件 服务类
 *
 * @Description:
 * @Author: Cheng Xiaoxiao
 * @Date: 2023-08-01 03:06:36
 */
public interface KnowledgeFileService extends IService<KnowledgeFile> {
    /**
     * 获取知识库文件详情
     *
     * @param id ID
     * @return 单个知识库文件详情
     */
    KnowledgeFile detailById(String id);

    /**
     * 增加知识库文件
     *
     * @param knowledgeFile 知识库文件
     * @return 增加后的数据
     */
    KnowledgeFile saveKnowledgeInfo(KnowledgeFile knowledgeFile);

    /**
     * 修改知识库文件
     *
     * @param knowledgeFile 知识库文件对象
     * @return 修改后的数据
     */
    KnowledgeFile updateKnowledgeInfoById(KnowledgeFile knowledgeFile);

    /**
     * 根据ID删除信息
     *
     * @param id ID
     */
    void deleteById(String id);

    /**
     * 对指定的知识库批量添加文件
     *
     * @param knowledgeBaseId 知识库ID
     * @param multipartFiles  文件集合
     */
    void batchAddFiles(String knowledgeBaseId, List<MultipartFile> multipartFiles);

    /**
     * 根据知识库ID删除知识库文件
     *
     * @param knowledgeBaseId 知识库ID
     */
    void deleteByKnowledgeBaseId(String knowledgeBaseId);
}